package com.anti.modular.bus.billotherrevenues.param;

import com.anti.commom.pojo.BaseParam;
import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

/**
* 其他收支参数类
 *
 * @author anti
 * @date 2021-06-03 09:34:42
*/
@Data
public class BillOtherRevenuesParam extends BaseParam {

    /**
     * 主键id
     */
    @NotNull(message = "主键id不能为空，请检查id参数", groups = {edit.class, delete.class, detail.class,editDaoZhang.class})
    private Long id;

    /**
     * 房間主键
     */
    @NotNull(message = "房間主键不能为空，请检查roomId参数", groups = {add.class})
    private Long roomId;

    //关联房间类型 1 不关联到房产 2 整栋 3 房
    private Integer glRoomType;

    /**
     * 
     */
    @NotBlank(message = "不能为空，请检查roomName参数", groups = {add.class})
    private String roomName;

    /**
     * 姓名
     */
    @NotBlank(message = "姓名不能为空，请检查name参数", groups = {add.class})
    private String name;

    /**
     * 類目ID
     */
    @NotNull(message = "類目ID不能为空，请检查revenuesType参数", groups = {add.class})
    private Integer revenuesType;

    private String revenuesTypeName;
    /**
     * 收支類型 1 收入 2 支出 3 應收帳 4 應付帳
     */
    @NotNull(message = "收支類型请检查type参数", groups = {add.class})
    private Integer type;

    /**
     * 金额
     */
    @NotNull(message = "金额不能为空，请检查amount参数", groups = {add.class, edit.class})
    private BigDecimal amount;

    /**
     * 流入流出類型 （1 流入 2 流出）
     */
    private Integer billInOutType;

    /**
     * 應收日期
     */
    @NotNull(message = "應收日期不能为空，请检查shouldReceiveDate参数", groups = {add.class, edit.class})
    private String shouldReceiveDate;

    /**
     * 实收日期
     */
    @NotNull(message = "收款日期不能为空，请检查receiveDate参数", groups = {editDaoZhang.class})
    private String receiveDate;

    /**
     * 收款方式
     */
    @NotNull(message = "收款方式不能为空，请检查collectionType参数", groups = {editDaoZhang.class})
    private Integer collectionType;

    /**
     * 收租提醒开关（1 开启 0关闭）
     */
    private Integer rentReminderSwitch;

    /**
     * 收租提醒提前 天
     */
    private Integer rentReminderDay;

    /**
     * 收租提醒提前 小时
     */
    private Integer rentReminderHour;

    /**
     * 收租提醒提前 分钟
     */
    private Integer rentReminderMinutes;

    /**
     * 收支狀態 0 未到賬  1 到賬
     */
    private Integer revenuesStatus;

    /**
     * 到賬操作人ID
     */
    private Long auditId;

    /**
     * 到賬操作人
     */
    private String auditName;

    /**
     * 到賬操作时间
     */
    private String auditTime;

    /**
     * 備注
     */
    private String remark;

    /**
     * 訂單單號
     */
    private String no;

    /**
     * 状态（字典 0正常 1注銷 2刪除）
     */
    private Integer status;

    /**
     * 经办人
     */
    private String manager;

    private String dateStrStart;

    private String dateStrEnd;

    /**
     * 搜索类型
     */
    private String searchType;
    /**
     * 参数校验分组：编辑
     */
    public @interface editDaoZhang {
    }

}
